Method (computer programming)
part 12/14 · 22.4 KB total
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
public:
virtual ~Super() = default;
virtual void IAm() { std::cout << "I'm the super class!\n"; }
};
class Sub : public Super {
public:
void IAm() override { std::cout << "I'm the subclass!\n"; }
};
int main() {
std::unique_ptr<Super> inst1 = std::make_unique<Super>();
std::unique_ptr<Super> inst2 = std::make_unique<Sub>();
inst1->IAm(); // Calls |Super::IAm|.
inst2->IAm(); // Calls |Sub::IAm|.
}
See also
Notes
cite-note-11. ↑ "What is an Object?". oracle.com. Oracle Corporation. Retrieved 13 December 2013.
cite-note-0-22. ↑ citerefmartin2009Martin, Robert C. (2009). Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall. p. 296. ISBN 978-0-13-235088-4.
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────